/**
 * @Description:
 * @Author 卞鹏飞 <228443632@qq.com>
 * @create 24/11/24 AM11:36
 */

import {
  type PropType,
  type ExtractPropTypes
} from 'vue'
import type { ICommonFunction } from './postmate-types.ts'

export const propsInfo = {
  /**
   * 地址参数
   */
  entry: {
    type: String,
    default: ''
  },

  /**
   * 入口基础路径
   */
  entryBasePrefix: {
    type: String,
    default: ''
  },

  /**
   * 挂载时额外参数
   */
  mountedData: {
    type: Object,
    default: () => ({})
  },

  /**
   * 在初始化子应用之前，函数
   */
  beforeMountedDataHook: {
    type: Function as PropType<ICommonFunction>,
    default: undefined
  },

  /**
   * 是否自动更新标签页标题
   */
  autoUpdateTabTitle: {
    type: Boolean,
    default: true
  }
}

export type TPropsInfo = ExtractPropTypes<typeof propsInfo>
